Vector is base class of other vector like classes. It represents a series of vectors.
from py3d import Vector
Vector()
Vector([], dtype=float64)
Vector([0, 0, 0, 0])
Vector([0, 0, 0, 0])
Vector([1, 2, -4])
Vector([ 1, 2, -4])
Vector([1, 2, 3], (2,))
Vector([[1, 2, 3],
[1, 2, 3]])
import py3d
py3d.Vector([1, 2, 0, 3], ())
Vector([1, 2, 0, 3])
Vector([1], (2,))
Vector([[1],
[1]])
V32 = Vector([
[1, 3],
[2, -9],
[0.1, -3]])
V32
Vector([[ 1. , 3. ],
[ 2. , -9. ],
[ 0.1, -3. ]])
Get unit vector
V32.U
Vector([[ 0.31622777, 0.9486833 ],
[ 0.21693046, -0.97618706],
[ 0.03331483, -0.99944491]])
Get length of vectors
V32.L
array([[3.16227766],
[9.21954446],
[3.0016662 ]])
from numpy import allclose
assert allclose(V32.U.L, [[1], [1], [1]])
Get homogeneous vector
V32.H
Vector([[ 1. , 3. , 1. ],
[ 2. , -9. , 1. ],
[ 0.1, -3. , 1. ]])
Get a series of random vectors
import py3d
py3d.Vector.Rand(2,3,4)
Vector([[[0.88707383, 0.29090613, 0.74660769, 0.16481421],
[0.48060613, 0.10386043, 0.61860204, 0.91263529],
[0.3604967 , 0.15008996, 0.70559169, 0.32435963]],
[[0.87230413, 0.77185903, 0.51095937, 0.85097113],
[0.51164926, 0.6100011 , 0.32457589, 0.55039719],
[0.89818164, 0.85999932, 0.51043681, 0.79945582]]])
import py3d
py3d.Vector([[0,0],[1,2],[3,4]]).diff()
Vector([[1, 2],
[2, 2]])
Read pcd file
import py3d
py3d.read_pcd("py3d/doc/ascii.pcd").xyz.as_point()
import py3d
pcd = py3d.read_pcd("py3d/doc/binary.pcd")
pcd.xyz.as_point()
pcd.to_pcd("test.pcd")